package cn.tedu.voice.system.mapper;

import cn.tedu.voice.system.pojo.entitly.Voice;
import cn.tedu.voice.system.pojo.vo.VoiceListVO;
import cn.tedu.voice.system.pojo.vo.VoiceStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理语音管理的mapper接口
 *
 * @author java@ccl.cn
 * @version 0.0.1
 */
@Repository
public interface VoiceMapper {
    /**
     * 上传语音
     * @param voiceAddNewDTO
     * @return
     */
    int insert(Voice voiceAddNewDTO);

    /**
     * 根据id批量
     * 删除语音
     * @param id
     * @return
     */
    int deleteByIds(Long[] id);

    /**
     * 修改语音数据
     * @param voice
     * @return
     */
    int update(Voice voice);

    /**
     * 统计查询语音编号
     * @param voiceNumber
     * @return
     */
    int countByvoiceNumber(int voiceNumber);

    /**
     * 用于检查是否存在其它数据使用了相同的名称
     * @param id
     * @param voiceName
     * @return
     */
    int countByvoiceNameAndNotId(@Param("id")Long id,
                                 @Param("voiceName") String voiceName);

//    int countByPackage(String voicePackage);

    int countByIds(Long[] id);

    /**
     * 根据id查询详情
     * @param id
     * @return
     */
    VoiceStandardVO getStandardById(Long id);

    /**
     * 显示语音列表
     * @return
     */
    List<VoiceListVO> list();
}
